1435dad364fb6547de60d6f142211ccd6649bd06,hazelcast/src/main/java/com/hazelcast/cache/impl/CacheStatisticsImpl.java,CacheStatisticsImpl,addGetTimeNano,#number#,251
Before Change
for (;;) {
long nanos = getCacheTimeTakenNanos;
if (nanos <= Long.MAX_VALUE - duration) {
GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration);
} else {
//counter full. Just reset.
clear();
GET_CACHE_TIME_TAKEN_NANOS_UPDATER.set(this, duration);
}
}
}
After Change
*
* @param duration the time taken in nanoseconds.
*/
public void addGetTimeNanos(long duration) {
for (;;) {
long nanos = getCacheTimeTakenNanos;
if (nanos <= Long.MAX_VALUE - duration) {
if (GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration)) {
return;
}
} else {
//counter full. Just reset.
if (GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, duration)) {
clear();
return;
}
}
}
}